#include <iostream>
using namespace std;
#include <queue>
#include <functional>
#include "priority_queue.hpp"
using namespace zq;

void test()
{
    // 这样就变成小堆了
    // priority_queue<int, vector<int>, greater<int>> pq;
    // pq.push(3);
    // pq.push(1);
    // pq.push(9);
    // pq.push(4);
    // pq.push(3);
    // pq.push(2);

    // // 底层默认是一个大堆，也就是降序排序
    // // 适配器是不能使用迭代器遍历的
    // while (!pq.empty())
    // {
    //     cout << pq.top() << " ";
    //     pq.pop();
    // }
    // cout << endl;
}
void test2()
{
    Priority_queue<int, vector<int>, zq::greater<int>> p;
    p.push(1);
    p.push(9);
    p.push(4);
    p.push(5);
    p.push(2);

    while (!p.empty())
    {
        cout << p.top() << " ";
        p.pop();
    }
    cout << endl;
}
int main()
{
    // test();
    test2();

    return 0;
}
